package com.powernode.factory;

import com.powernode.Strategy.LoginStrategy;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;

/**
 * 登录策略工厂类   : 环境类，持有一个抽象策略类的引用，用于调用具体的策略类中实现的算法
 */
@Component
public class LoginStrategyFactory {

    @Resource
    private Map<String , LoginStrategy> loginStrategyMap = new HashMap<>();

    /**
     * 根据登录类型来获取具体的登录策略对象
     * @param loginType
     * @return  : 登录策略对象
     */
    public LoginStrategy getInstance(String loginType) {
        return loginStrategyMap.get(loginType);
    }
}
